48 - 5.3.3 Rechnerorganisation: Ausnahmen auf der Befehlsatzebene [ID:15893]
50 von 202 angezeigt

Wir werden uns nun einmal im Detail die beiden verschiedenen Ausnahmen an, die auf der Ebene

2 auf der Befehlsetzebene zustande kommen können, nämlich Trepp und Indarmt.

Unterbrechungsarten und Ausnahmesituation werden differenziert.

Wir haben zwei Kategorien. Der Trepp ist eine Abfangung für Ausnahmen, wo wir sagen,

die haben eine interne Ursache.

Und der Interhub ist die Unterbrechung eines Programms durch Ausnahmen,

die eine externe Ursache haben.

In beiden Fällen geht es eigentlich um Programmunterbrechungen und die Unterbrechung

von Programmen, die sich in der Ausführung befinden.

Die Unterschiede sind im Wesentlichen in der Quelle zu sehen.

Intern versus extern, aber dann eben auch, wie wir gleich noch weiter in die Die behandeln werden,

die Synchronität, die Frage der Vorhersagbarkeit.

Oder ist solch eine Ausnahme und eine Unterbrechung, die daraufhin zustande kommt, reproduzierbar?

Ist ein Treppinterhub reproduzierbar oder nicht?

In beiden Fällen ist es wichtig, die Behandlung durchzuführen.

Und diese Behandlung ist typischerweise prozessorabhängig.

Es ist ja ein bestimmter Prozessor, der dann letztendlich eben auch die Ausnahme signalisiert

und demzufolge die Behandlungsroutine natürlich auf diese Bedürfnisse des Prozessors entsprechend eingehen muss.

Wenn wir von dem Aufwerfen einer Ausnahme sprechen, das ist genau der Moment, wo denn ein Prozessor feststellt,

hier existiert eine Ausnahmesituation und die muss behandelt werden,

dann würden wir dieses Aufwerfen, dieses Raising der Ausnahme sehen,

dass es ein realer Prozessor machen kann, also eine CPU, aber eben auch durch das Betriebssystem.

Hier gibt es eine Analogie zwischen diesen beiden Arten von Prozessoren.

Wir reden eben von der Hardware-Ausnahme, wenn die CPU letztendlich gezwungen ist,

hier eine entsprechende Ausnahmesituation anzuzeigen.

Das sind die sogenannten Interrupt-Requests, die IAQs oder die nicht maskierbaren Interrupts,

die NMEs, Non-Maskable Interrupts, oder ganz normale Fehler,

oder eher unnormale Fehler, die bei der Ausführung eines bestimmten Befehls erkannt werden.

Also zum Beispiel eine Division durch Null, wenn der Prozessor diese Division als fehlerhaft bezeichnet oder versteht,

dann wird eine Ausnahmesituation hervorbringen.

Und das Gleiche etwa, wenn Verzeigerungsfehler existieren würden, wenn man eine falsche Speicheradresse adressiert und so weiter.

Das sind so typische Beispiele, wo die CPU sagt, Hardware-Ausnahme.

Das Betriebssystem kann ebenfalls Ausnahmen werfen, und dann sind es Ausnahmen, die in der Software erkannt werden.

Bei der Ausführung von Programmen auf der Betriebssystem-Ebene wird dann eben solch eine Außensituation entstehen,

die dann halt nach oben hin auf eine nächst höhere Ebene zugestellt wird und dort behandelt werden müsste.

Das sind typischerweise die Signale, die wir von den Unix-ähnlichen Betriebssystemen kennen, oder wenn wir jetzt die POSIX-Signale begreifen.

Das sind alles solche Arten von Ausnahmen, die bilden sozusagen Ausnahmesituationen,

die sich reflektieren, die innerhalb des Betriebssystems erkannt worden sind und müssten normalerweise auf der Maschinenprogramm-Ebene behandelt werden.

Die Behandlung ist in beiden Fällen aber wirklich zwingend.

Das ist das Anzeigen von solchen Ausnahmen, wo wir entweder einen realen oder einen abstrakten Prozessor beteiligt haben.

Die Behandlung kommt immer einem abstrakten Prozessor zu, weil es letztendlich immer eine Software-Maßnahme ist.

Schauen wir also auf die Hardware-Ausnahmen, die auf der Ebene 2 oder in der Ebene 2 entstehen,

denn behandelt das Betriebssystem auf der Ebene 2 diese Ausnahme, ist also ein Programm innerhalb des Betriebssystems.

Oder wenn wir von den Betriebssystem-Ausnahmen sprechen, denn behandelt eben das Maschinenprogramm auf der Ebene 3,

befinden wir uns dann eben diese Ausnahmesituation.

Die Behandlung kommt also immer einem abstrakten Prozessor zu, weil es immer eine Software-Maßnahme ist.

Und die Anzeige einer Ausnahme kommt, je nachdem auf welcher Ebene diese Ausnahmesituation erkannt wird,

einem realen Prozessor, der CPU oder eben auch einem abstrakten Prozessor.

Und dann reden wir meistens vom Betriebssystem zu.

So, jetzt haben wir zunächst die synchrone Ausnahme.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:21:27 Min

Aufnahmedatum

2020-05-15

Hochgeladen am

2020-05-15 14:56:19

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen